## 7.2. Invoking the Shell

The command interpreter for bash can be invoked as follows:

>     bash  [options]  [arguments]

bash can execute commands from a terminal (when -i is specified), from a file (when the first argument is an executable script), or from standard input (if no arguments remain or if -s is specified).

### 7.2.1. Options

Options that appear here with double hyphens also work when entered with single hyphens, but the double-hyphen versions are recommended because they are standard.

-, --

  Treat all subsequent strings as arguments, not options.

--dump-po-strings

  Same as --dump-strings but uses a special "portable object" format suitable for scripting.

--dump-strings

  For execution in non-English locales, dump all strings that bash translates.

-c str

  Read commands from string str.

-i

  Create an interactive shell (prompt for input).

--help

  Print information about which version of bash is installed, plus a list of options.

--login

  Behave like a login shell; try to process /etc/profile on startup. Then process ~/.bash_profile, ~/.bash_login, or ~/.profile (searching for each file only if the previous file is not found).

--nobraceexpansion

  Disable brace expansion.

--noediting

  Disable line editing with arrow and control keys.

--noprofile

  Do not process /etc/profile, ~/.bash_profile, ~/.bash_login, or ~/.profile on startup.

--norc

  Do not process ~/.bashrc on startup.

-p

  Start up as a privileged user; don't process $HOME/.profile.

--posix

  Conform to POSIX standard.

-r

  Restrict users to a very secure, limited environment; for instance, they cannot change out of the startup directory or use the > sign to redirect output.

--rcfile file

  Substitute file for .bashrc on startup.

--restricted

  Same as -r.

-s

  Read commands from standard input; output from built-in commands goes to file descriptor 1; all other shell output goes to file descriptor 2.

-v

  Print each line as it is executed (useful for tracing scripts).

--verbose

  Same as -v.

--version

  Print information about which version of bash is installed.

-x

  Turn on debugging, as described under the -x option to the set built-in command.

-D

  For execution in non-English locales, dump all strings that bash translates.

The remaining options to bash are listed under the set built-in command.

### 7.2.2. Arguments

Arguments are assigned, in order, to the positional parameters $1, $2, and so forth. If the first argument is an executable script, commands are read from it and remaining arguments are assigned to $1, $2, and so on.

Copyright © 2001 O'Reilly & Associates. All rights reserved.